package com.yan.design.two.structure.s7.d1;

/**
 * 7. 代理模式 - 静态代理
 *      代理类 - 中介
 * @author shengren.yan
 * @create 2022-08-01
 */
public class Proxy implements Rent{

    private Host host;

    public Proxy(){
    }

    public Proxy(Host h){
        this.host = h;
    }

    // Spring 建议使用 set方式进行注入，不建议以上面的构造器进行注入
//    public void setHost(Host h){
//        this.host = h;
//    }

    @Override
    public void rent() {
        doA();
        host.rent();
        doC();
        doB();
    }


    public void doA(){
        System.out.println("中介看房...");
    }

    public void doB(){
        System.out.println("中介收费...");
    }

    public void doC(){
        System.out.println("中介签合同...");
    }

}
